package com.lw.dillon.admin.common.api.system;

import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostRespVO;
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostSaveReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostSimpleRespVO;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.*;

import java.util.List;
import java.util.Map;

public interface PostApi  {


    @POST("system/post/create")
    Observable<CommonResult<Long>> createPost(@Body PostSaveReqVO createReqVO);

    @PUT("system/post/update")
    Observable<CommonResult<Boolean>> updatePost(@Body PostSaveReqVO updateReqVO);

    @DELETE("system/post/delete")
    Observable<CommonResult<Boolean>> deletePost(@Query("id") Long id);

    @GET("system/post/get")
    Observable<CommonResult<PostRespVO>> getPost(@Query("id") Long id);

    @GET("system/post/simple-list")
    Observable<CommonResult<List<PostSimpleRespVO>>> getSimplePostList();

    @GET("system/post/page")
    Observable<CommonResult<PageResult<PostRespVO>>> getPostPage(@QueryMap Map<String, Object> queryMap);


}
